package com.huaxin.device.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.device.dto.ResponseResult;
import com.huaxin.device.dto.request.EquipmentDataSourceCreateReqDTO;
import com.huaxin.device.dto.request.EquipmentDataSourcePageListReqDTO;
import com.huaxin.device.models.EquipmentDataSource;

import java.util.List;

public interface EquipmentDataSourceService extends IService<EquipmentDataSource> {

    /**
     * 创建数据源关联
     */
    ResponseResult<String> create(List<EquipmentDataSourceCreateReqDTO> in);

    /**
     * 根据数据源ID查询数据源关联
     */
    EquipmentDataSource getByDataSourceId(String id);

    /**
     * 删除数据源关联
     */
    ResponseResult<String> delete(String id);

    /**
     * 分页查询数据源关联
     */
    ResponseResult<IPage<EquipmentDataSource>> pageQuery(EquipmentDataSourcePageListReqDTO in);

    /**
     * 根据采集设备ID查询关联列表
     */
    java.util.List<EquipmentDataSource> getByCollectorId(String collectorId);

    /**
     * 根据设备ID查询关联列表（可用于设备维度查看）
     */
    java.util.List<EquipmentDataSource> getByEquipmentId(String equipmentId);

    /**
     * 切换数据源关联是否主数据源
     */
    ResponseResult<Boolean> toggleIsPrimary(String id);
}